#pragma once

#define INITGUID

#include <d3d10.h>
#include "IEngineComponent.h"
#include "EnginePointer.h"

// {447A9926-62DB-4f81-A928-DFA8B6B6EE1B}
DEFINE_GUID(GUI_COMPONENT_GUID, 
0x447a9926, 0x62db, 0x4f81, 0xa9, 0x28, 0xdf, 0xa8, 0xb6, 0xb6, 0xee, 0x1b);

class GUIComponent : public IEngineComponent
{
public:
	virtual HRESULT LoadGraphicsContent(EnginePointer<ID3D10Device>& pDevice) = 0;
	virtual void UnloadGraphicsContent() = 0;
	virtual void Update(LONGLONG timeElapsed) = 0;
	virtual void Draw() = 0;
	GUID getSystemIdentifier();
	GUID getComponentIdentifier();
};
